/*
 * Copyright (C) 2011, EADS France
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 */
package xowl.interpreter.frontends;

import java.io.Writer;
import xowl.lang.actions.ArrayElement;
import xowl.lang.actions.BAnd;
import xowl.lang.actions.BNot;
import xowl.lang.actions.BOr;
import xowl.lang.actions.BXOr;
import xowl.lang.actions.CodeVariable;
import xowl.lang.actions.Concat;
import xowl.lang.actions.Contains;
import xowl.lang.actions.Different;
import xowl.lang.actions.Divide;
import xowl.lang.actions.EntityForIRI;
import xowl.lang.actions.Equal;
import xowl.lang.actions.Execute;
import xowl.lang.actions.Greater;
import xowl.lang.actions.GreaterEqual;
import xowl.lang.actions.IRIOf;
import xowl.lang.actions.Invoke;
import xowl.lang.actions.LengthOf;
import xowl.lang.actions.Lesser;
import xowl.lang.actions.LesserEqual;
import xowl.lang.actions.Minus;
import xowl.lang.actions.Modulus;
import xowl.lang.actions.Mult;
import xowl.lang.actions.NewEntity;
import xowl.lang.actions.NewIndividual;
import xowl.lang.actions.Plus;
import xowl.lang.actions.QueryVariable;
import xowl.lang.actions.Slice;
import xowl.lang.actions.ValueOf;
import xowl.lang.actions.ValuesOf;
import xowl.lang.interop.JavaInvokation;
import xowl.lang.interop.NewObject;
import xowl.lang.interop.ObjectField;
import xowl.lang.interop.StaticField;

/**
 *
 * @author Laurent WOUTERS
 */
public abstract class AbstractStaticExpressionWriter extends AbstractExpressionWriter {
    @Override protected void writeContains(Writer writer, Contains query) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeInvoke(Writer writer, Invoke expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeExecute(Writer writer, Execute expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeQueryVariable(Writer writer, QueryVariable expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeCodeVariable(Writer writer, CodeVariable expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeArrayElement(Writer writer, ArrayElement expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeNewEntity(Writer writer, NewEntity expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeEntityForIRI(Writer writer, EntityForIRI expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeNewIndividual(Writer writer, NewIndividual expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writePlus(Writer writer, Plus expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeMinus(Writer writer, Minus expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeMult(Writer writer, Mult expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeDivide(Writer writer, Divide expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeModulus(Writer writer, Modulus expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeBAnd(Writer writer, BAnd expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeBOr(Writer writer, BOr expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeBXOr(Writer writer, BXOr expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeBNot(Writer writer, BNot expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeEqual(Writer writer, Equal expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeDifferent(Writer writer, Different expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeGreater(Writer writer, Greater expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeGreaterEqual(Writer writer, GreaterEqual expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeLesser(Writer writer, Lesser expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeLesserEqual(Writer writer, LesserEqual expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeIRIOf(Writer writer, IRIOf expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeLengthOf(Writer writer, LengthOf expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeArray(Writer writer, xowl.lang.actions.Array expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeConcat(Writer writer, Concat expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeSlice(Writer writer, Slice expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeJavaInvokation(Writer writer, JavaInvokation expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeNewObject(Writer writer, NewObject expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeObjectField(Writer writer, ObjectField expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeStaticField(Writer writer, StaticField expression) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeValuesOf(Writer writer, ValuesOf query) throws java.io.IOException { throw getNotImplemented(); }
    @Override protected void writeValueOf(Writer writer, ValueOf query) throws java.io.IOException { throw getNotImplemented(); }
    
    protected UnsupportedOperationException getNotImplemented() throws java.io.IOException {
        return new UnsupportedOperationException("Not supported yet.");
    }
}
